package kr.hkit.powerjava.chapter26.common;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.InvalidPropertiesFormatException;
import java.util.Properties;

public class DBUtil2 {
	public static Properties loadProperties(String propertiesFile){
		BufferedInputStream bis = null;
		Properties prop = null;
		
		try {
			bis = new BufferedInputStream(new FileInputStream(propertiesFile));
			prop = new Properties();
			prop.loadFromXML(bis); //2번째꺼 선택..
		} catch (FileNotFoundException e) {
			System.err.print("파일이 존재하지 않음");
		} catch (InvalidPropertiesFormatException e) {
			System.err.print("유효하지 않음");
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (bis != null) try{bis.close(); bis=null;}catch(Exception e){}
		}
		return prop;
	}
	
	//saveProperties("test.prof", "user", "pass", "db"); ----> value란 이름의 배열로...담긴다
	public static void saveProperties(String propertiesFiles, String...value){
		BufferedOutputStream bos = null;
		Properties prop = null;
		
		try {
			bos = new BufferedOutputStream(new FileOutputStream(propertiesFiles));
			prop = new Properties();
			
			prop.setProperty("DRIVER", value[0]); //원래는 암호화해야한다!~
			prop.setProperty("URL", value[1]);
			prop.setProperty("USER", value[2]);
			prop.setProperty("PASSWORD", value[3]);
			prop.storeToXML(bos, "DataBase Connection XML Property File"); //2번째꺼..
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (bos != null) try{bos.close(); bos=null;}catch(Exception e){}
		}
		
	}
}
